Method and system of monitoring and enhancing development progress of players

ABSTRACT

In an embodiment, education games may be played on user systems or online. Game developer can make available games that test various skills. Games may be integrated with monitor software to evaluate skills and deficiencies. Reports of games may be made available for analysis.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority benefit of U.S. Provisional Patent Application Number No. 61/342,054 (Docket No. 94-1), entitled MONITORING AND ENHANCING DEVELOPMENT PROGRESS OF CHILDREN AT PLAY, by Eli Porat and Idan Bar, filed Apr. 7, 2010, which is incorporated herein by reference.

FIELD OF INVENTION

This specification relates to educational software.

BACKGROUND

The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.

There are numerous game portals, and game developers offer many games for players. Play is a biological process that has evolved for teaching life skills. Play may induce creativity and innovation in later life. Software, such as flight simulators have also been used to train individuals.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following drawings like reference numbers are used to refer to like elements. Although the following figures depict various examples of the invention, the invention is not limited to the examples depicted in the figures.

FIG. 1 shows a block diagram of an embodiment of a system of monitoring and enhancing development progress of players;

FIG. 2A shows a block diagram of an embodiment of a configuration in which host system of FIG. 1 may be used;

FIG. 2B shows a block diagram of an embodiment of a game system;

FIG. 3 shows a flowchart of an embodiment of a method of scoring;

FIG. 4A shows a screenshot of an embodiment of a game testing linguistic acquisition;

FIG. 4B shows a screenshot of an embodiment of a game testing arithmetic skills;

FIG. 4C shows a screenshot of an embodiment of a game testing visual memory;

FIG. 4D shows a screenshot of an embodiment of a game testing audio memory;

FIG. 4E shows a screenshot of an embodiment of a game testing planning and organizing;

FIG. 4F shows a screenshot of an embodiment of a game monitoring multidimensional perceptions;

FIG. 4G shows a screenshot of an embodiment of a game to analyze musical skills;

FIG. 4H shows a screenshot of an embodiment of a game to analyze fine motor skills;

FIG. 4I shows a screenshot of an embodiment of a game to analyze shape and color;

FIG. 4J shows a screenshot of an embodiment of a game to analyze attention;

FIG. 5 shows a flowchart of an embodiment of a method game monitoring;

FIG. 6A shows the structure of an embodiment of a game;

FIG. 6B shows a flowchart of an embodiment of monitoring a game;

FIG. 7 shows a table of function calls functions for monitoring events used in an embodiment of the system;

FIG. 8A shows a flowchart of an embodiment of a method of integrating monitoring software into a game;

FIG. 8B shows a flowchart of an embodiment of a method of integrating monitoring software into a game;

FIG. 9A shows a flowchart of an embodiment of a method of calculating the score of a player;

FIG. 9B shows an example of a chart of the age group and game level of a game;

FIG. 9C shows an example of a chart of a the skills tested and the level of the skills tested by a game;

FIG. 9D shows an example of a chart of events monitored in a game;

FIG. 9E shows an example of a chart of a listing of games according to skills tested;

FIG. 10 shows a graph of an example of rescaling the distribution of scores to the scoring of the monitoring system;

FIG. 11 shows an example of a chart tracking a player's progress in playing four different games;

FIG. 12 shows a screenshot of an embodiment of a main webpage of a report on a player's progress;

FIG. 13 shows screenshot of an embodiment of a report showing performance comparison;

FIG. 14 shows an embodiment of a report showing a comparison between the player's progress the average progress of players in the player's age group;

FIG. 15 shows an embodiment of a chart of a player's performance compared to the age group;

FIG. 16 shows an embodiment of a chart of a report evaluating the player's hand-eye coordination;

FIG. 17 shows an embodiment of a graph of the player's successive scores for different games;

FIG. 18 shows an embodiment of a report presenting a natural language evaluation of the player's performance;

FIG. 19 shows an embodiment of a system for implementing the monitoring; and

FIG. 20 shows a block diagram of an embodiment of a machine used in the system of FIG. 19.

DETAILED DESCRIPTION

Although various embodiments of the invention may have been motivated by various deficiencies with the prior art, which may be discussed or alluded to in one or more places in the specification, the embodiments of the invention do not necessarily address any of these deficiencies. In other words, different embodiments of the invention may address different deficiencies that may be discussed in the specification. Some embodiments may only partially address some deficiencies or just one deficiency that may be discussed in the specification, and some embodiments may not address any of these deficiencies.

A system and method is provided for monitoring the performance of a player's basic abilities, such as skills and/or aptitudes during play. In this specification term ability will be used as being generic to skill and aptitude. By integrating the games that are fun for players, the players are more likely to participate in the games. The system can monitor the basic skill of players while playing fun and popular games. Guardians can monitor their player's development progress by accessing various reports with information applicable to the player's development progress. Games referred to in this specification may be played on a machine or computer. Games may be presented to players in one or more webpages, an application on a mobile device or an application on a social network.

In this specification the terms “parent” guardian, educator, interested party, and/or authorized party are used interchangeably with one another, and each of these terms may be substituted for one another to obtain other embodiments. Parents of young players (e.g., ages 2-8) may act as the “navigator” for their players, who may not be able to fully operate the complete process of playing a game on their own. However, parents or other guardians are not required for using the system. In this specification, the term ‘player’ refers to a person playing a game and may be an adult or a child.

Guardians may choose an appropriate game for their players, expecting that their choice will be beneficial for the development of specific skills. A monitoring application (including a monitoring algorithm) allows guardians to recognize individual skills and strengths of their players engaged in playing the games. Guardians may then help players reach new heights, by guiding the player to games that develop desired skills. Guardians of young players can initially introduce the players to games relevant for the player's age group. As the player progresses and shows mastery of skills, the catalog of games presented to the player can change. The host system can be interactive by learning the skill level of the player and present appropriate games to the player automatically. The term “development” is used in this specification as generic to any form of progress in learning of information, skills, maturity, performance, rate of learning, mental development, and or other forms of development.

FIG. 1 shows a block diagram of an embodiment of host system 100, which may include a system of monitoring and enhancing development progress of players. In an embodiment, host system 100 may include games 106, monitoring routines 108, database 110, and report generator 112, and web server 114. In other embodiments host system 100 may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed.

Host system 100 may be used by game players to play game, game developers to deploy games, and guardians to monitor the development of a player that the parent is a guardian for.

Games 106 may be software for one or more games, which optionally may be supplied by a third party game developer. Games 106 produce code for rendering one or more web pages for players related to the games being played (e.g., Flash games). The games may be based on various tools such as Flash Player, which may be a plug-in to a browser (or other HTTP client). However, other browser plug-ins, scripts, or code may be used instead of Flash Player. For example, Java applets, Shockwave, Silverlight, and/or Unity may be used in addition to, or instead of, Flash Player as browser plug-ins. Also other browser based and/or server based games may be used instead of plug-ins. Further, games 106 may reside and be deployed on host system 100. In an alternative embodiment, games 106 may be stored on host system 100 and temporarily be partly or fully downloaded to a user system while the user is playing the game.

Multiple games of games 106 may focus on analyzing a particular skill and/or specific pieces of knowledge. In an embodiment, a specific set of follow up games may be presented to players depending on the responses to previous games. In an embodiment, a specific set of games may be available to player, depending of the player's age and/or skill level. In other embodiments, any player may be free to experiment with any game. Follow up games may be designed to confirm that prior correct answers were not just accidents, understand the nature of the player's knowledge, and/or skill deficiency, for example, in order to help enhance knowledge and/or skill of the player. Although any given game of games 106 may focus on a particular aptitude, skill or set of aptitudes and/or skills, in an embodiment, each game may monitor many other skills and/or aptitudes to a lesser extent and provide information about those skills and/or aptitudes.

Monitoring routines 108 may include function calls to routines that monitor the player's activities during the game for the purpose of gathering information about the player's development. Monitoring routines 108 call routines that track a player's movements and responses. For example, monitoring routines 108 may record or indicate the beginning of tasks, events that occur during tasks, the end of the task, and/or other related events. Monitoring routines 108 is code used to integrate existing game code into host system 100. The collection of routine calls that may be included in monitoring routines 108 are the Application Program Interface (API) of the host system 100. Integrating the monitoring routine calls, via monitoring routines 108, into games 106 enables the monitoring of players' development.

In an embodiment, monitoring routines 108 may be embedded in one or more games, games being ones that are designed to analyze and/or teach certain types of skills, knowledge, interest level, and/or responsiveness of players.

Database 110 can store a player's profile, game scores, and reports. Database 110 may include a database server in addition to the actual files stored in an organized fashion, information about users. A player's profile may include, name of the player, age of the player, the gender of the player, birth month and year, and optionally a picture of the player (regarding the player's gender, boys and girls mature and/or for at least some skills tend to develop and different skills at different rates, which may affect what is statistically expected to be a normal score for a particular task for a particular player). The profile along with the player's score and/or other information about the player's development may be used in the analysis of the performance, rate of learning, mental development, and/or other forms of development of players. Host system updates the player's profile from time to time with new information such as the player's brothers and sisters, weight of the player at birth and more. The profile helps in arriving at the player's score and the system score.

Report generator 112 may include one or more machine instructions to retrieve a player's profile, the game levels, performance indicators generated while monitoring the player playing games, and/or game scores, perform an analysis of the player, and generate reports that show the result so of the analysis. In an embodiment, the reports are presented to guardians to understand the player's development and/or progress. For example, the guardian may have an account separate from, but associated with, a player for which the guardian is a guardian, and the guardian may be provided with tools for viewing and/or generating reports related to the player.

Web server 114 serves webpages to clients, such as players, guardians, and third party game developers. For example, web server 114 may include a user interface for the player to select and play games, a user interface for generating and/or viewing reports related to the development of the player, and/or an interface for a third party game developer to register with host system 100 as a game developer, copy and/or download function calls, information about game monitoring routines needed to properly use monitoring routines 108, upload and/or deploy newly developed games on host system 108 into which monitoring routines 108 have been integrated.

Online Gaming System

FIG. 2A shows block diagrams of an embodiment of a configuration in which host system 100 may be used. FIG. 2 shows a block diagram of an embodiment of an online gaming system 200. In an embodiment, the online gaming system 200 may include host system 100, games 106, other applications and data 201, user system 202, and network 204. In other embodiments online gaming system may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed.

In system 200, the player plays, via a network, a game that runs on host system 100. Host system 100 and games 106 were discussed above in conjunction with FIG. 1. In an embodiment of system 200, games 106 reside on and run on host system 100. In another embodiment of system 200, games 106 can reside in user system 202. Other applications and data 201 may include the other applications and data that were discussed in conjunction with FIG. 1 as being included in host system 100. User system 202 may be any user system capable of accessing the internet. For example, user system 202 may be a personal computer, mobile phone, handheld computer, laptop, tablet computer, and Television or IP TV. In an embodiment user system 202 may include an hap client (e.g., a browser) for interfacing with the host system 100 (see FIG. 1), but may include an equivalent means of accessing and interacting with webpages. Network 204 (further discussed in conjunction with FIG. 19) may be any network or combination of networks of devices that communicate with one another, such as any combination of Wide Area Networks (WANs) (e.g., the Internet), Local Area Networks (LANs), Plain Old Telephone System (POTSs), and/or mobile device communications network. User system 202 receives, via network 204, webpages from host system 100 that relate to a current state of the player in a game. User system 202 “interacts” with the webpages by moving a cursor, selecting links, filling in fields on in other manners. The data indicating the alteration to the webpage, which the user perceives as an interaction with the webpage (e.g., the cursor movement, link selection, or filled in field), are sent from user system 202 to host system 100. Games 106 determines a response to the alternation (or interaction) send from the user system 202, and sends, via network 204, an appropriate update to the webpage being viewed by the user system 202. The update may include an indication of the change inputting via user system 202 and/or a response to the update. For example, if user system send a change of mouse position that is associated with the movement of a bat hitting a ball, host system 100 may send back to user system 202 updates to the webpage showing the movement of the bat as indicated by the user's mouse movement and also a movements of the ball hit by the bat as a response to the movement of the bat.

In an alternative embodiment, cookies, script, and/or code related to games 106 is downloaded to user system 202 and runs on user system 202. In this alternative embodiment, parts or all of game 106 and/or game monitoring routines 114 (see FIG. 1) may be temporarily installed and run on user system 202. User system 202 may send information related to monitoring the player during the game back to host system 100 and/or may send routine calls to host system 100 for running game monitoring routines 114.

FIG. 2B shows a block diagram of an embodiment of a system of games. FIG. 2 b is a system diagram, and may include player 220, developer 222, game 224, developer center 226, client component 228, Event Server (ES) events 230, report 230 and guardian 232. Player 220 may be the player of the game. In an embodiment, player 220 can be user system 202.

Developer 222 may be a software developer, developing games. Developer 222 implements one or more machine instructions that integrate monitoring routine 108 into games 106. Game 224 may be supplied by the developer 222. Developer center 226 may receive games from developer 222. Client component 228 may be a software component of the system that monitors the game. Client component 228 may receives the actions or output of the game. ES events 230 are the events that are monitored. Report 232 generates reports based on the inputs from ES events. Guardian 234 can view the reports to understand the skill level of player 220. The monitoring software may be integrated into the game automatically, manually, and/or a combination of automatically and manually. Client component 228 stores information gathered from each event in one or more reports which are available for viewing by guardian 234. In an embodiment, the algorithm embedded in a series of games that are designed to analyze and/or certain types of skills knowledge, interest level, and responsiveness of player 220. Within each game, the algorithm may use a battery of puzzles, each designed to analyze a particular skill and/or specific pieces of knowledge, and for each puzzle the algorithm may have a specific set of follow up puzzles which are presented to the player depending on the prior ser of responses to previous puzzles.

Game Monitoring and Scoring

FIG. 3 shows a flowchart of an embodiment of a method 300 of recording an analysis of a player's development. In step 302, in an embodiment, the system may receive scores reflecting how well a player completed various tasks and/or based on events that occurred and/or did not occur during the events (a player may gain or lose point depending on whether an event occurred and/or the manner in which the event occurred). In another embodiment, results of monitoring a player's game are analyzed. The analysis may include comparing the player's performance (e.g., the set of device input data, such as key strokes, and movements of a pointing device, occurrences of events, completions of tasks, any or all of which may be correlated with time) to an idealized set of performance, a prior set of performance data, and/or an average set of performance data for a particular age of development level to arrive at the player's score for a game. The player's score is then added to the specific skills that were tested. The comparison may include a measuring of the differences of the current performance data to another set of performance data (the prior performance, average performance of a particular developmental level, and/or idealized performance data) and determining one or more measure of the difference, such as the maximum deviation, average deviation, and/or root mean square deviation. Next method 300 proceeds to step 306. In step 306, method 300 checks whether a report exists for the player in database 110. If a report does not exist then method 300 proceeds to step 312, if a report exists, then method 300 proceeds to step 314. In step 312, an entry for storing results of the analysis may be created along with the results of the analysis of the current game in database 110 for the player. In step 314, the results of the current game may be used to adjust the player's prior results for the player's overall performance based on many games.

In an embodiment, host system 100 may include multiple games. In an embodiment multiple games may be used to test a particular category of knowledge and/or skills. In an embodiment, each game may have a different background scenery, objectives, and tasks to accomplish. Points are awarded for the knowledge and the skill area being analyzed and a report may be prepared for the player showing the player's overall score in a particular area and performance on the game played. Different reports may be generated for different skills and aptitudes. Since even though each game may focus on one skill or aptitude, each may nonetheless measure multiple skills and aptitudes (although not to the same extent as skill or aptitude being focused on, in general each game will result in an adjustment to multiple reports. The reports may be generated automatically after each game that the player plays and/or upon the request of a guardian based on stored data.

In an embodiment, host system 100 may present the guardian and/or player the option of displaying the level of the game, the player's score while playing the current game and/or the player's overall score for the skill set monitored by the game, the duration of time the player has been playing the game, a help icon (e.g., a question mark), and/or an icon for turning on an audio track associated with the game. The help icon may provide instructions to the player for how to play the game and/or useful hints. The audio track may include music, and/or audio versions of the questions asked of the player.

Skills Categories

In an embodiment, the monitoring process may be based on following the player's performance of tasks indicative of skills embedded and monitored in the games. In an embodiment, the games are monitored for skills in various categories such as linguistic acquisition, arithmetic skill, audio memory, visual memory, planning and organization, multidimensional perception, musical skill, hand-eye coordination, shape identification, color identification, attention, and/or speed of learning (how quickly the player's skill improves with game experience).

A player may be presented with different games and quizzed according to the skills being tested. If the player chooses the correct answer, the player may be awarded points, and the points are added to the total score in the linguistic acquisition skill. If the player chooses the wrong answer, the system adjusts the player's total score in the linguistic acquisition to reflect the wrong result. A report may be either created and/or updated (discussed in conjunction with FIG. 3) showing the player's overall linguistic score and performance resulting from the game just played. While the player is playing the linguistics game, the game monitoring routines may collect data related to how quickly and accurately the player enters data via the input devices, such as a keyboard, mouse, and/or touchpad, which may affect the reports related to the player's development of the player's motor skills, for example. Although successful completion of the tasks that constitute the game may relate most directly to linguistics, the tasks may also tangentially relate to math, organizational skills, and/or planning, for example, and information from the players performance may be extracted for reports related to other skills am also be extracted.

Linguistic Acquisition

FIG. 4A shows screenshot 400 a of an embodiment of an example game testing linguistic acquisition. Screenshot 400 a may include jungle 402 a and bear 404 a. In other embodiments, screenshot 400 a may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

Host system 100 may monitor knowledge and understanding of objects and/or concepts while the user is playing games such as the one associated with screenshot 400 a. In an embodiment, host system 100 may collect and analyze information about shapes, colors, animals, general objects, and/or about other concepts and/or objects associated with games, such as the game associated with screenshot 400 a.

In an embodiment, screenshot 400 a may appear showing an image of jungle 402 a with one or more animals 404 a. In an embodiment, the player may be presented with one or more stationary webpages with screenshot 400 a or similar to screenshot 400 a having jungle 402 a with jungle flora and animals 404 a amongst the jungle flora. In an embodiment, the player can navigate through jungle 402 a having leaves of plants that may occasionally move in response to moving animals 404 a that maneuver through jungle 402A, appearing to the player on occasion.

In an embodiment a caption appear on the screen and/or voice message says, “Why don't you try to find the animal that loves honey?” The animals in screenshot 400 a may be selectable using a pointing device of user system 202. In an embodiment, by manipulating the pointing device, the player selects the animal, which creates a noise and/or image suggestive of a camera taking a picture. For example, a flash may appear on the screen suggestive of a flash on a camera being activated. In an embodiment, the player may be given an avatar with a camera that the player manipulates via the pointing device, causing the avatar to walk through jungle 402 a and/or photograph animals 404 a. In an embodiment, to be successful, the player needs to manipulate the avatar to take a picture of the bear and not other animals in the jungle. To be successful in the game, the player needs to recognize different animals based on the player's language acquisition skills.

In an embodiment, game system 102 may further quiz the player to determine whether the player recognizes the animal “bear” and the word “honey” (to determine whether the player understands the connection between them). If game system 102 determines that player understands the words “bear” and “honey,” game system 102 may perform another predetermined quiz to determine whether the player understands the connection between the bears and honey. The analysis may be part of a catalog of games and game system exposes the player to the relevant game based on prior results. Report may include the performance of the player on each game. Guardians can read the report to see that the player knows the animal “bear,” the word “honey” and the relationship between them. Host system 100 may expose the player to more quizzes to ensure that the player knows and understand the objects and the connection between them. While playing the linguistics game of FIG. 4A, host system 100 may monitor the positioning of the pointing device, the time the player took to successfully complete photograph the bear to determine other abilities of the player.

Arithmetic Skill

Arithmetic skill may include interpretation of mathematical functions, numbers and related quantities. Host system 100 can collect and analyze information about relations between groups, subtracting, multiplication, addition, subtracting and/or other mathematical skills.

FIG. 4B shows screenshot 400 b of an embodiment of a game testing arithmetic skills. Screenshot 400 b may include turtle 402B and crab 404 b. In other embodiments, screenshot 400 b may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

In an embodiment, the player may be presented with one or more webpages with screenshot 400 b or similar to screenshot 400 b, to understand whether the player can identify the animal with the most limbs. Screenshot 400 b is an example image of under the sea around the jungle island with multiple animals. Turtle 402 b and crab 404 b are presented and the player may be asked to choose the animal with more limbs. Although the arithmetic game may relate most directly to the player's ability to distinguish relative sizes of numbers, the arithmetic game may be monitored and/or administrated in manner to facilitate determining other information, such as whether the player recognizes the words for turtle and crab.

Audio Memory and Visual Memory

Memory may be analyzed by asking the player to identify objects that require audio and/or visual memory.

Visual Memory: FIG. 4C shows screenshot 400 c of an embodiment of a game testing visual memory. Screenshot 400 c may include bubble 402 c, bubble 404 c, bubble 406 c, level 408 c, score 410 c, time 412 c, help 414 c and audio 416 c. In other embodiments, screenshot 400 c may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

To test visual memory skills, the player may be presented with a series of rising bubbles. In an embodiment, in screenshot 400 c, bubble 402 c, bubble 404 c and bubble 406 c may be the rising bubbles. An object may be embedded in each bubble. The player may be requested to remember the objects seen in the game and select objects that appear twice. Level 408 c indicates the player's level of the game, score 410 c indicates the player's score, time 412 c indicates the elapsed time in seconds. Help 414 c may be an icon which when selected displays instructions to play the game. Audio 416 c may be the audio button used to select the volume level of sounds that are output as part of the game. The sounds that are output as part of the game may include music that accompanies game and/or sounds that the player may associate with rising bubbles and/or the items in the bubbles.

Audio Memory: FIG. 4D shows screenshot 400 d of an embodiment of a game testing audio memory. Screenshot 400 d may include number pad 402 d, clear button 404 d and ok button 406 d. In other embodiments, screenshot 400 d may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

In an embodiment, a series of numbers may be read to the player by game system 102. The player may be asked to verbally repeat the numbers in the same order and/or to enter the numbers into an interface in the same order as the numbers were read. In screenshot 400 d, key pad 402 d may be used to enter the numbers that were read to the player. Selecting clear button 404 d removes accidental entry. Selecting ok button 406 d indicates that the player completed entering the sequence of numbers. In an embodiment, the player may be asked to remember sequences of letters and/or other symbols. In an alternative embodiment, the player may be presented with a series of treasure chests, safes, draws, and/or secret rooms, each storing a treasure or valuable item and each guarded by a padlock, combination lock, and/or key pad lock of different sizes, shapes, and appearances. To unlock, the player needs to remember the lock combination. Data may be collected based on how closely the player remembered the numbers (which relates to arithmetic abilities), how often the player entered an incorrect number and then changed the number to a correct number or visa-versa, which may be analyzed for other issues, such as motor skills and/or confidence.

Planning & Organizing

Planning and organizing may evaluate a player's performance and/or train a player in determining a logical approach for performing tasks, considering all the elements in the process. Game system 102 may collect and analyze information about planning ahead, problem solving, gathering information, processing, decision making and other elements of planning and/or organizing.

FIG. 4E shows screenshot 400 e of an embodiment of a game testing planning and organizing. Screenshot 400 e may include first side 402 e, second side 404 e, and stones 406 e. In other embodiments, screenshot 400 e may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

First side 402 e may be a first side of a watercourse. Second side 404 e may be a second side of a watercourse. Stones 406 e may be stones used to cross the watercourse. In an embodiment, during the game of FIG. 4E, a player may be asked to cross a watercourse, which may require planning a walkway from a first side 402 e to a second side 404 e of the watercourse, such as by choosing which stones 406 e to step on to cross the watercourse without stepping the water.

In an alternative embodiment, the player may be allowed to choose from a finite number of different types of building materials, such as stones of different sizes and/or other objects with which to build the walkway. The finished walkway should enable the player to cross the watercourse. In an embodiment of screenshot 400 e, first side 402 e may be on side of the waterway, second side 404 e may be on the other side of the waterway. Stones 406 e may be stones of various sizes that may be used to build a way to cross water. In another embodiment, the player may be able to choose other building materials, such as boards of wood of different sizes and/or other objects.

Multidimensional Perception

The multidimensional perception review may involve identifying and sorting objects in relative spaces, thereby analyzing the player's understanding of the movement and position of the objects. The system may collect and analyze information about distance, height, space completion and more.

FIG. 4F shows screenshot 400 f of an embodiment of a game monitoring multidimensional perceptions. Screenshot 400 f may include school of fish 402 f. In other embodiments, screenshot 400 f may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

Fish 402 f may be a school of fish arranged in a two dimensional pattern. In an embodiment, school of fish 402 f may be presented to a player and may be asked to identify the first, last, highest, and/or lowest moving fish to thereby test the players ability to identify special locations within the pattern (optionally, in addition, the players vocabulary of words related to the game is also tested).

Musical Skill

Musical skill may evaluate and train auditory memory by having the player identify and/or recognizes rhythms, notes, and/or tones.

FIG. 4G shows screenshot 400 g of an embodiment of a game for analyzing musical skills. Screenshot 400 g may include flute 402 g, xylophone 404 g, guitar 406 g, triangle 408 g, and/or drums 410 g. In other embodiments, screenshot 400 g may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

In an embodiment in screenshot 400 g, a player may be presented with flute 402 g, xylophone 404 g, guitar 406 g, triangle 408 g and drum set 410 g and a series of tones related to one of the instruments. The player may be asked to repeat the tones by choosing the musical instruments that played those tones. In another embodiment, the player may be asked to repeat notes by pointing to keys on a piano or xylophone that produced the notes.

Hand Eye Coordination

Hand eye coordination may analyze fine motor skills.

FIG. 4H shows screenshot 400 h of an embodiment of a game for analyzing fine motor skills. Screenshot 400 h may include score 402 g, block 404 g, and tower 406 g. In other embodiments, screenshot 400 h may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

In an embodiment score 402 g may be the score of the player. Block 404 h may be the building material that may be presented to the player to construct a tower as tall as possible. Building a tower requires stacking a number of blocks, such as block 404 h. Tower 406 h may a tower that the player builds, which is constructed from blocks similar to block 404 h. If the player misplaces one of the blocks (due to poor hand eye coordination) or does not align the newly placed block 404 h with a block below, tower 406 h may not be as stable, and the tower may fall once the tower is above a certain height, which may depend on the degree of misalignment in which the blocks are placed.

Shape and Color Identification

The shape and color identification information package may review and/or train cognitive and thinking processes displayed during decision making while playing a game.

FIG. 4I shows screenshot 400 i of an embodiment of a game for analyzing the players understanding of shapes and colors. Screenshot 400 i may include background 402 i and shapes 404 i. In other embodiments, screenshot 400 i may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

In an embodiment, in screenshot 400 i, background 402 i may be a background having different colors and with holes of different shapes. Shapes 404 i may be different shapes and colors. A player may be presented with shapes 404 i and background 402 i. The player may be asked to a place a shape from shapes 404 i into the holes of the same color and shape in background 402 i. For example, the player may be asked to repair properly repair a multicolor sail of a ship so that the ship can sail on a voyage. The sail may have different shaped holes and the player may be given different shaped and colored pieces of material with which to repair the sail. Once the sail is repaired, the ship may depart with the player's avatar on board. If the player has trouble distinguishing colors, host system 100 can report to guardians for further analysis for color blindness.

Attention

Attention may be the skill of selectively concentrating on one aspect of the environment while ignoring other things. Attention has also been referred to as the allocation of processing resources.

FIG. 4J shows screenshot 400 j of an embodiment of a game to analyze attention. Screenshot 400 j may include banana 402 j, bee 404 j, chimpanzee 406 j and dogs 408 j. In other embodiments, screenshot 400 j may not have all of the elements listed and/or may have other elements instead of or in addition to those listed.

In an embodiment of a game, screenshot 400 j may be used to help a player practice, and/or analyze, monitor the player's ability to stay focused on a task. Banana 402 i may be the target that the player is supposed to retrieve with the player's avatar. Bee 404 j may be a distraction that attacks the player's avatar. Chimpanzee 406 j may be the player's avatar, which the player manipulates to retrieve banana 402 j. Dogs 408 j may be another distraction that attacks the player's avatar. In an embodiment, chimpanzee 406 j has to get banana 402 j while avoiding attacks from bee 404 j and dogs 408 j. The degree to which the player is distracted with chasing the bee 404 j and/or dogs 408 j may indicate the player's ability to stay focused on a task.

The game demands focused attention from the player, because the player needs to remember that the goal may be to get the correct type of bananas despite the distraction of the bees and the dogs (and/or other characters). In an alternative embodiment, the bee and/or dog may attempt to play with, and thereby distract the player's avatar rather than attack the player's avatar.

Technical Skill

Understanding simple physical phenomenon such as shape, momentum and movement including elements such as wheels, wind, lift, linear movement and cyclical movement can be referred to as technical skills.

Monitoring Algorithm

The monitoring algorithm involves collecting data while playing and processing the information that measures the development progress of players. The information collected may include general interest and responsiveness information and/or performance information.

Responsiveness information may include whether the player seems to know what to do and/or has mastered aptitudes appropriate for the player's age. Performance information may include how well the player scores of the game.

FIG. 5 shows a flowchart of an embodiment of a method 500 of analyzing player performance. Method 500 may be an embodiment of step 312 or 314 of FIG. 3. In step 502 player profile information (such as age and other profile information) is retrieved from database 110 (FIG. 1). In step 504, in method 500 collects results of the player's movement and responses from the player playing games which may include data about events that are related to skills and performance.

In step 506 the collected data may be processed, analyzed, and one or more detailed reports of the measured skill sets, and a holistic diagnosis of the player's strengths and weaknesses. In an embodiment, host system 100 combines information gathered from the player playing various games. In an embodiment, data may be collected from every game with embedded monitoring routines 108 or other games using a third party provided game (into which monitoring routines 108 have been incorporated), which may be used for skill assessment that the player plays. In an embodiment reports are generated to include player specific average. Player specific average may be calculated based on the information from all the appropriate games for an age group. Different factors may be weighted differently according to the player's age group, environment, geographic location, language, culture and/or other factors to arrive at a player specific average.

In an embodiment, additional game activity of a player (which may be either directed by a guardian or may not be directed by the guardian) may be tabulated and progress reports may be available to the guardians upon demand, via a user interface that has tools for viewing and/or generating reports.

Game Monitor

FIG. 6A shows the structure of an embodiment of a game. In an embodiment, game 602 may have task1 604, task2 606, task3 608, start task 610, event1 612, event2 614, event 616, end task 618, start task 620, event1 622, end task 624, start task 626 and end task 628. In other embodiments game 602 may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed.

In an embodiment, game 602 may be any game. Game 62 has function calls that start a variety of predefined tasks, perform predefined events that during the task, and end of the task. Task1 604, task2 606, and task3 608 are an example of a set of tasks that make up a game. In other embodiments game 602 may have fewer or more tasks than three. Some examples of maybe retrieving an object, entering a sequence of characters into a field, positioning an object in a particular location, selecting an object on the screen, measuring an amount of time between two inputs from the player. Each task and each event is a predetermined function provided by host system 100. The events may be functions that are triggered by certain occurrences. The events may track progress towards completing a task, such as positioning the player's avatar at a location that is closer to an object that needs to be retrieved or may be a function that is triggered by an action that indicates that the player is pursuing a less than optimum path, such as placing the player's avatar at a predetermined location that is further from an object that needs to be retrieved. The host system may give the developer a variety of prewritten functions to select and place into developer's code. Event1 612, event2 614, and event3 616 are examples of functions calls that call a function based on the occurrence of a triggering event that occur during task1 602. End task 618 may be a function call identifying the end of task1 602. In another embodiment, task1 may have fewer or more events. In an embodiment task2 606 may have start task 620. Event1 622, end task 624. In an embodiment task3 608 may have start task 626 and end task 628 without any events.

In an embodiment, the monitoring process may be based on the following. Games have tasks and the player's performance of tasks indicate the skills of the player. A task may have multiple events and include at least a start task event and an end task event and one or more other events. A task may be the current level in a game or a specific task. Each task has different measurable units and achievable ranges. In an embodiment, task1 602, task2 606 and task3 608 may be the tasks in a game used to measure the player's ability.

Each task may include one or more events, the player's performance of the events may be measured. Tasks and/or events may be identified and categorized according to skill sets that the task and/or event is most closely related to. The activities of the player may be associated with the events during the game. Events (in addition to starting a task and ending a task) may include a player's attempt to identify objects, positioning of an object, entering a character into a field. Other quantities that may be monitored and/or assessed are general interest, ability and steadiness, in which the player is handling of a pointing device (e.g., a mouse) is measured and/or evaluated. Start task 610, event1 612, event2 614, event 616, end task 618, start task 620, event1 622, end task 624, start task 626 and end task 628 may be the events that are monitored that may be used for analysis and report generation.

FIG. 6B shows in an embodiment flowchart 650 of game monitoring. In step 652 the game waits for at least a task to start. Multiple tasks may be running at any time in a game. Tasks need not start at the same time. After at least one task starts, the game proceeds to step 654. In optional step 654, the game starts to monitor input from the player and/or monitor the time. Optionally, the game may also record the time of the input from the player. Input methods may be any one or more of a key stroke, movement of the mouse, audio input or any other form of input. In step 656, the game checks for if an event has occurred by checking the input methods for change or event. If the first event of the game has occurred, then the game proceeds to step 657. If the first event has not occurred, the game proceeds to step 658 where the game checks if the game has been terminated. For example the player may decide to abruptly end the game by closing the window displaying the game. In step 657, the method proceeds to the next event in which steps 656 and 658 may be repeated for other events until the task ends and then proceeds to step 660 to check for the end of task. If the end of task has been reached, then game proceeds to step 662. In step 662, the game checks for end of game. If the end of game has been reached, then optionally the game proceeds to optional step 666 to terminate the monitoring of the movements of the input device and/or the time, otherwise the method proceeds to step 664. In step 664 the game moves to another task and proceeds to step 652. Steps 652-664 may be repeated for other tasks in the game. Steps 652-664 may occur sequentially in a task and any number of tasks may occur parallel. The tasks may start at the same time or may start at different times.

Functions in Tasks

FIG. 7 shows an embodiment of functions table 700. Functions table 700 lists functions used in monitoring routines 108. Function table 700 may include columns description 702 and function name 704 and rows 706-720. In other embodiments, function table 700 may not have all of the functions and/or elements of the functions listed and/or may have other functions and/or elements of the functions instead of or in addition to those listed.

Description 702 lists the description of examples of function calls that may be used as part of monitoring routines 108. The functions may be machine instructions that perform certain routines for monitoring player development. Functions may need one or more inputs to implement the routines and/or may return one or more outputs that result from performing the routines. The column, function name 704, lists the name of function calls that may be added into games 106 (FIG. 1). The names in the column, function name 704, are just examples of the names of functions, which are suggestive of the purpose and/or routine performed by the function. The names include arguments, which may be outputs or inputs of the functions.

Row 706 shows the function call that may start the beginning of a task, _root.StartTask. An argument of the start function is the name of the task that is starting. During programming, the programmer may place the name of the task in the field for the name of the task or may place a variable in the field for the name for the task, and the program may automatically assign the variable a value reflecting the name of the task. In an embodiment, the names of the tasks are provided by the host system 100, and are names of predefined functions available as part of the plug-in provided by the host system. Optionally, the start task may start a timer and/or record the start time of the task so that the time that the player took to complete the task may be computed.

Row 708 shows a function call, which when called, calls a function that the end of a task. As with the start function, an argument of the start function is the name of the task that is ending, but also may include a filed indicating the reason that the task ended. During programming, the programmer may place the name of the task in the field for the name of the task or may place a variable in the field for the name for the task, and the program may automatically assign the variable a value reflecting the name of the task that is ending. When the stop of task function is called, the routine may return the name of the task. The program and/or stop task may compute the reason why the task ended. Examples of reasons for stopping a task may be the player completed the task unsuccessfully, completed the task successfully, the player quit the task prematurely (e.g., by ending the game or moving the avatar to a prior event) and/or the player skipped to the next task (which not necessarily be possible in all games). The stop of the task function may also return the time of the end of the task or the duration of time required to complete the task.

Rows 710-716 are function calls that may define events. Row 710 lists function _root.SetScore, which exports a score at the end of the task, level, and/or game identifier to a location where the score may be added to a report. The parameters that may be passed to the function_root.SetScore are name of the task and score value of the task.

Row 712 lists function_root.Identify that identifies an object. The function indicates whether the player properly identified an object. In an embodiment, the object being identified may be one of several predefined generic object types (e.g., a shape, a color, an alphanumeric character, and an animal) provided by host system 100, depending on the object type a different function may be called. The function for identifying an object may have three arguments (or parameters) that may be passed to the function_root.Identify are name of the task, the object that the player is trying to identify, and an indication whether the player performed the object identification successfully or failed (which may be a Boolean variable).

Row 714 lists function_root.PutObject used to indicate that the user placed an object in a particular location. The arguments/parameters for the function_root.PutObject are name of the task within which the object is positioned, name of the object being positioned, and coordinate values of positioning the object. In the game there may be a range of coordinates that are accepted as a correct location. However, host system 100 may use the distance of the position that object was placed to the place where the object is supposed to be placed to compute an accuracy of the user's placement of the object into the object's proper location.

Row 716 lists function_root.Action that is used to grant points to a player according to an estimate of how interested the player is in the game. The points may be positive or negative. The parameters/arguments to the function are the task name and points. Points may be computed based on how often and for what duration of time the player engages in activities that are not related completing the tasks of the game.

Row 718 includes a function for setting the score for a task, row 720 has a function for clearing all tasks and scores from a game, and row 722 has a function for setting the game's name. In an embodiment, the start task (row 706), stop task (row 708), and setting the game's name (row 722) are required in every game.

Game Integration

Game developers can integrate the monitoring algorithm into their existing games without making changes of the existing game code other than adding the functions calls of monitoring routines 108 (FIG. 1).

FIG. 8A shows a flowchart of an embodiment of method 800 a of integrating monitoring software into a game by a game developer. In step 802, game developer develops game software. Games may be based on Flash Player, which may be a plug-in to a browser (or other HTTP client). Other plug-ins may be used instead of a Flash Player. Java, Shockwave, Silverlight, and/or Unity may be used in addition to or instead of Flash Player. Other browser based and/or server based games may be used instead of plug-in. In step 804, the game developer can acquire client component and game identifier. Client component may be a software component that has machine instructions to implement the functions discussed in conjunction with FIG. 7. The game identifier is a unique identification string that may be generated by the game developer or the server system (discussed in conjunction with FIG. 19.)

In step 806, the game developer generates integration code. Integration code may have function calls and code to call game monitor 106. The first two lines of the integration code includes Action Script file which may be part of the client component and the second line passes a game identifier to function_root.Initialize. For example, the first two lines may be

-   -   #include “tucoola_include.as”     -   _root.Initialize (GAME_ID);         where GAME_ID=<the game identifier>.

A start task routine may be placed at the beginning of every task, which for example may have the syntax

-   -   _root.StartTask (TASK_NAME);

To identify an object the function_root.Identify may be used with the task name and the object being identified and an indication of object identification success or failure.

-   -   _root.Identify(Task_Name, Object_Name, True/False);

While positioning an object function_root.PutObject can be called with the task name calling the function, the object name and the X, Y, and Z coordinates of the position.

-   -   _root.PutObject(Task_Name, Object_Name, X, Y, Z);

Capturing general behavior with the function_root.Action with task name and points. The points can be positive or negative.

-   -   _root.Action(Task Name, Points);

To capture a player's score for an event, the function_root.SetScore may be used and may be called several times, and may be called during multiple events, which for example may have the syntax

-   -   _root.SetScore (TASK_NAME, SCORE);

An end of the task function finally ends a task or game with stop task, which for example may have the syntax

-   -   _root.StopTask (TASK_NAME);

In step 808, integration code may be run. Integration code is combined with the client component and an executable code is created. The executable code may be stored on a game server and may be ready for play.

FIG. 8B shows a flowchart of an embodiment of method 800 b of integrating monitoring software into a game by the server system. In step 810, the server system may receive a request to add a game to the game system. In step 812, the server system may send client component and optionally a game identifier to the game developer. In step 814, the server system may receive game code integrated with client component and game identifier. In step 816, the server system stores and deploys the game code on the server system. The server system may be server system 1904, for example.

Monitoring System's Scoring Algorithm

The client component of the monitoring software collects the information from the games (such as scores, success, object location and more) and calculates score of players in all age groups in various skills based on the monitoring software's score.

FIG. 9A shows a flowchart of an embodiment of method 900 of calculating score of a player. In step 902, age group of players may be selected. In step 904, game score of a sample of players in the age group may be collected. In an embodiment, the sample may include 30 individuals. In step 906, N % of the lowest and highest scores may be discarded from the calculation to remove outlying scores. In an embodiment N may be 5. In step 908, monitoring system's score may be calculated.

The average score and the standard deviation (S) for the age group. The score may be based on the Z value (or the Z value may be used as the score). The Z value is the number of multiples of the standard deviation that the score differs from the average, which is the may be calculated for every child. The Z value may be calculated by subtracting the average for the player's grade and dividing by the standard deviation. In an embodiment, since the result may be a negative number if the player is below average, 5 is then added to the result so that scores are between 0 and 10. For every child, the monitoring system's score is the Z value (e.g., 1.5)+5. Thus the monitoring system's score is the “new score” (which is always between 0-10), and it may compare the average age group (while 5 is always be the average).

In step 910, check may be made if all there are more age groups to calculate system score. If there are more age groups steps 902-910 are repeated. If there are no more age groups to calculate system score, the method stops.

FIG. 9B-E shows an example game with level, skills and events monitored in system and the events monitored in the example game.

FIG. 9B shows a chart of an example game with age group and game level. In FIG. 9 b, column1 952 lists the different age groups in the host system. Column2 954 lists the game level of the example game tower blocks. The example game is hard for age group 4-5, medium level for age groups 5-6 and 6-7 and easy for age group 7-8.

FIG. 9C shows chart of an example game with skills tested and the level of the skill tested. FIG. 9C has column1 956 with a list of skills that are tested in the example game and column2 958 has the level of the skill being tested. Skills are graded with a number between 1 and 7, where 1 means that the skill has no expression in the game, and 7 means the skill found a significant expression in the game. Numbers between 1 and 7 indicate that the skill has a different level of expression in the game (which is between full expression and no expression). In the example game hand eye coordination is being tested most whereas general knowledge and analogies is not tested.

FIG. 9D shows a chart of an example of a game with events monitored in the games. FIG. 9D has column1 960 with a list of available monitored events and column2 962 lists the events that are monitored by the game. Column2 962 is marked with x's indicating events are monitored in the game. The types of events that may be monitored are whether or not the player makes a determination of an unknown, whether or not the player in an event, task, and/or the game, the level reached at the end of the game, the total time taken for a level and/or game, mistakes or moving to the wrong location in the game, whether or not or how many times a stage was repeated, whether or not a stage was skipped, shaking of the mouse and/or avatar, the appropriateness of the use of mouse clicks and/or whether the mouse click was used for starting, stopping, pausing, and the start of a menu, the cause of a mouse click (and/or whether the mouse click occurred at an appropriate time), and/or indications of acquisition of language skills. The same events monitored in regard to the mouse may be monitored in regard to another pointing device and/or the keyboard. The chart of FIG. 9D also indicates whether or not the game exports scores (e.g., for events, tasks, and/or for the entire game), the language of the game and whether or not parental guidance is needed.

FIG. 9E shows a chart of an example game listing related games. FIG. 9 e has column1 964 column2 966. Column1 964 lists the category of relation to the example game. Column2 966 lists the name of the related game.

The information in the charts of FIGS. 9B-E may be presented to a guardian so that the guardian may evaluate the significance of certain scores and guide the player.

Reports

Reports may be presented in various fashions. Some report development progression of player; other reports compare average performance of the age group with the player's performance. Some report present actual data while others are analyzed by the system. Reports may be in the form of graphs, pie-charts, bar graphs and/or charts. FIGS. 10-18 present various types of reports.

FIG. 10 shows graph 1000 in an embodiment of rescaling the distribution of scores to the scoring of the monitoring system. Graph 100 has top axis 1002 and bottom axis. Top axis 1002 represents the score of the monitoring system. Bottom axis 1004 represents the original score.

FIG. 11 is an example of a chart 1100 tracking a player's progress in playing four different games, and is an example of a chart tracking the player's progress in playing four different games.

The x-axis indicates the game number played and the y-axis indicates the percentage of correct responses. Chart 1100 has graph1 1102, graph2 1104, graph3 1006 and graph4 1008. graph1 1102, a graph of playing game1. Similarly, graph2 1104 may be a graph of playing game2, graph3 1106 may be a graph of playing game3 and graph4 1108 may be a graph of playing game4.

FIG. 12 shows screenshot 1200 of an embodiment of a main webpage of a report on a player's progress. Screenshot 1200 may have title 1202, player's profile 1204, pie chart 1206, report1 1208, report2 1210 and report 1212. In other embodiments, function table 1200 may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed.

In an embodiment, title 1202 can display the title along with the player's name. Player's profile 1204 can display player's name, age and other statistics such as playing time, weekly average, and date of last visit along with links to more information. Pie chart 1206 displays a pie chart with the distribution of the skill set that was reported. Report1 1208 gives a list of the new concepts or words learned. Report2 1210 lists average skill set of the age group. Report 1212 lists how the system analyzes the player's knowledge. FIG. 13 shows an example of a report showing a comparison between the player's progress in a prior report and the current report.

FIG. 13 shows screenshot 1300 of an embodiment of report showing performance comparison. In an embodiment screenshot 1300 may have title 1302, y-axis 1304, current data 1306, old data 1308 and x-axis 1310. In other embodiments, bar graph 1300 may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed.

Screenshot 1300 is an embodiment of a bar graph of current performance comparison of various skills with previous performance of a player, which may be presented to a guardian. Title 1302 displays the player's name and the elapsed time from previous report. Y-axis 1304 of graph 1300 has performance. Current data 1306 may be the performance of player in various skills that appears on the left side. Old data 1308 may be the performance of the player in the previous game in various skills and appears on the right side of the current data. X-axis 1310 may be the x-axis of graph 1300 with various skills.

FIG. 14 shows an example of a report showing a comparison between the player's progresses the average progress of players in the player's age group, which may be presented to a guardian. Each skill has a bar, and the height of the bar represents a percentile of how well the player performed compared to other player's of the same age group. If the bar is the full height of the graph, the player scored in the 100 percentile of that age group.

FIG. 15 shows chart 1500 in an embodiment of a player's performance compared to the age group, which may be presented to a guardian. Chart 1500 has title 1502, measured ingredients 1504, known ingredients 1506 and unknown ingredients 1508. In other embodiments, chart 1500 may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed.

In an embodiment, title 1502 displays the title of the report. Measured ingredients 1504 lists the various objects or concepts that were tested. Known ingredients 1506 lists the objects or concepts which the player knew. Unknown ingredients 1508 list the objects or concepts that other players of the age group know.

FIG. 16 shows chart 1600 in an embodiment of a report evaluating the player's hand-eye coordination, which may be presented to a guardian. Chart 1600 has title 1602, below average 1604, match average 1606 and above average 1608. In other embodiments, chart 1600 may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed.

In an embodiment, title 1602 displays the title of the chart. Below average 1604, lists the skills of below average players of the age group. Match average 1606 lists the skills of an average player of the age group. Above average 1608 lists the skills of above average player of the age group. For different skills and games there may be a different range of scores that is considered average.

FIG. 17 shows in an embodiment a graph of the player's successive scores for different games, which may be presented to a guardian. The graph can give an indication of the progression of knowledge or skills. FIG. 17 shows graph 1700 in an embodiment of a report evaluating the player's hand-eye coordination. Graph 1700 has y-axis 1702, title 1704, graph1 1706 and graph2 1708 and x-axis 1710. In other embodiments, chart 1700 may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed. In an embodiment, y-axis 1702 may be the y-axis of graph 1700. Title 1704 displays the title of graph 1700. Graph1 1706 may be the graph of a game with successive scores. Graph2 1708 may be the graph of a second game with successive scores. X-axis 1710 may be the x-axis of graph 1700 with game number.

FIG. 18 shows an embodiment, a report presenting a natural language evaluation of the player's performance, which may be presented to a guardian. In an embodiment, there may be one or more reports that evaluate how a player deals with a game in which involves a skill that the player does perform well and/or there may be one or more reports that evaluate how a player deals with a game that involves a skill that the player performs well. Optionally, there may be other reports. In an embodiment, report 1800 has title 1802 and evaluation 1804. In other embodiments, chart 1600 may not have all of the elements or features listed and/or may have other elements or features instead of or in addition to those listed.

In an embodiment, title 1802 displays the title of the report and the player's name. Evaluation 1804 describes the player's overall performance and analysis of the performance.

FIG. 19 shows an example of an embodiment of a system 1900. System 1900 includes server system 1904 having input system 1906 and output system 1908. System 1900 also includes system 1910, network 1912, user system 1914, user system 1916, user system 1918, user system 1920, and user system 1922. In other embodiments system 1900 may not have all of the components listed above or may have other components instead of and/or in addition to those listed above.

System 1900 illustrates some of the variations of the manners of connecting to the server system. Server system 1904 may include a web server application as well as software for monitoring games, games for users to play, and one or more pages for developers to add games and integrate the monitoring software into the games. Server system 1904 may be directly connected to user system 1910, and may be connected, via network 1912, to user system 1914, user system 1916, user system 1918, and user system 1920. User system 1920 may be connected to system 1904 via user system 1918. Network 1912 may be any one of, or any combination of, one or more Local Area Networks (LANs), Wide Area Networks (WANs), wireless networks, telephones networks, and/or other networks. User systems 1910, 1914, 1916, and 1918 are any system that an end user may use to access server system 1904. For example, user systems 1910, 1914, 1916, and 1918 may be personal computers, workstations, laptop computers, game consoles, handheld network enabled audio/video player, and/or any other network appliance. User system 1920 may be an example of a system that accesses system 1904, via the combination of network 1912 and another system, which in this example may be user system 1918. User system 1922 may be an example of a handheld network wireless device, such as a mobile phone or a handheld network enabled audio/music player, which may also be used for accessing network content. User system 202 may be user systems 1910, 1914, 1916 and 1918. In an embodiment, the developer (or end user) may use any of user systems 1910, 1914, 1916, or 1918.

FIG. 20 shows a block diagram of a machine 2000 used in system 1900. The machine 2000 may include output system 2002, input system 2004, memory system 2006, processor system 2008, communications system 2012, and input/output device 2014. In other embodiments, machine 2000 may include additional components and/or may not include all of the components listed above.

Machine 2000 may be an example of a system that may be used for any of the computer of server system 1904, user system 1910, user system 1914, user system 1918, user system 1918, user system 1920, and/or user system 1922.

Output system 2002 may include any one of, some of, any combination of, or all of a monitor system, a handheld display system, a printer system, a speaker system, a connection or interface system to a sound system, an interface system to peripheral devices and/or a connection and/or interface system to a computer system, intranet, and/or internet, for example.

Input system 2004 may include any one of, some of, any combination of, or all of a keyboard system, a keypad system, a mouse system, a track ball system, a track pad system, buttons on a handheld system, a scanner system, a microphone system, a connection to a sound system, and/or a connection and/or interface system to a computer system, intranet, and/or internet (e.g., IrDA, USB), for example. Input system 2004, may include an antenna and/or wireless card for making phone calls, linking to local area networks, and/or connecting to a wide area network, such as a telephone system and/or the Internet.

Memory system 2006 may include, for example, any one of, some of, any combination of, or all of a long term storage system, such as a hard drive; a short term storage system, such as random access memory; a removable storage system, such as a floppy drive or a removable drive; and/or flash memory. Memory system 2006 may include one or more machine-readable mediums that may store a variety of different types of information. The term machine-readable medium may be used to refer to any medium capable carrying information that may be readable by a machine. One example of a machine-readable medium may be a computer-readable medium. Memory system 2006 may store one or more machine instructions for implementing the monitoring system, the interface for the developers, an operating system and/or the reports if system 2000 may be an embodiment of system 1904. Memory system 2006 stores machine instructions specific to the system (which is different depending upon whether system 2000 is mobile, iPad, laptop, or other internet device and whether system 2000 is being used as host system 100, the developer's system, or the end-user's system). For example, if system 2000 is an embodiment of system 1922, memory system 2006 may include mobile phone applications such as software for storing and recalling phone numbers.

Processor system 2008 may include any one of, some of, any combination of, or all of multiple parallel processors, a single processor, a system of processors having one or more central processors and/or one or more specialized processors dedicated to specific tasks. For example, processor system 2008 may include one or more Digital Signal Processors (DSPs) in addition to or in place of one or more Central Processing Units (CPUs) and/or may have one or more digital signal processing programs that run on one or more CPU. Processor system 2008 implements the instructions stored in memory system 2006.

Communications system 2012 communicatively links output system 2002, input system 2004, memory system 2006, processor system 2008, and/or input/output system 2014 to each other. Communications system 2012 may include any one of, some of, any combination of, or all of electrical cables, fiber optic cables, and/or means of sending signals through air or water (e.g. wireless communications), or the like. Some examples of means of sending signals through air and/or water include systems for transmitting electromagnetic waves such as infrared and/or radio waves and/or systems for sending sound waves.

Input/output system 2014 may include devices that have the dual function as input and output devices. For example; input/output system 2014 may include one or more touch sensitive screens, which display an image and therefore are an output device and accept input when the screens are pressed by a finger or stylus, for example. The touch sensitive screens may be sensitive to heat and/or pressure. One or more of the input/output devices may be sensitive to a voltage or current produced by a stylus, for example. Input/output system 2014 may be optional, and may be used in addition to or in place of output system 2002 and/or input device 2004.

Extensions and Alternatives

Each embodiment disclosed herein may be used or otherwise combined with any of the other embodiments disclosed. Any element of any embodiment may be used in any embodiment.

Although the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the true spirit and scope of the invention. In addition, modifications may be made without departing from the essential teachings of the invention. 

1. A method of providing analysis of a performance in a game by a player comprising: providing one or more games stored on a hardware system, the hardware system including one or more machines having a processor system with one or more processors, and one or more machine readable media with in a storage unit; monitoring performance of a player in the game; storing information resulting from the monitoring the performance in the game and a player profile in the storage unit, the player profile including at least an age group and a gender; analyzing the information to determine a skill level of the player; generating a report based on the analyzing of the game score and storing the report in the storage unit; and providing an interface to a guardian of the player, that provides the report to the guardian.
 2. The method of claim 1, further comprising providing a software to a game developer that plugs into a development environment, and after being plugged in adds routines for monitoring a player's performance to the development environment, therein allowing the developer to add the routines to the game.
 3. The method of claim 2, the one or more machine instructions to track the one or more actions of the player include at least starting a task, ending a task, export score at the end of a task, export score at the end of a level, export score at the end of a game, identify an object and position an object.
 4. The method of claim 3, the sending a copy of the game to a machine of the player; the monitoring of the performance of the player including receiving results of the player playing the game.
 5. The method of claim 3, running the game on the hardware system.
 6. The method of claim 1, the one or more games have one or more tasks, the performance of the tasks are indicative of one or more skills including attention, multidimensional perception, planning and organization.
 7. The method of claim 1, the one or more games have one or more tasks, the performance of the tasks are indicative of one or more skills including at least linguistic acquisition, arithmetic skill, audio memory, visual memory, planning and organization, multidimensional perception, musical skill, hand-eye coordination, shape identification, color identification, attention, and skill improvement in games played repeatedly.
 8. The method of claim 1, the one or more games have one or more tasks, each of the tasks have at least a start task event calling a function for monitoring performance and a stop task event ending the function that monitors performance, which returns a reason why the task ended.
 9. The method of claim 1, the one or more games have one or more include at least one game having one or more tasks that include at least an event that calls a function that determines one or more events including a location of pointing and a placement of an object.
 10. The method of claim 1, the one or more games have one or more tasks, the tasks have one or more events that call a function for determining whether a long stop occurred.
 11. The method of claim 1, the report having a pie chart of the performance in the game indicative of one or more skills.
 12. The method of claim 1, the report listing new concepts and words learned and an average of a skill of the player in the age group.
 13. The method of claim 1, the report showing a bar graph comparing a current performance to a previous performance for a plurality of score skills.
 14. The method of claim 1, the report listing at least a plurality of concepts tested in the game, and indicating which of the plurality of concepts the player knew and which of the plurality of concept the player did not know.
 15. The method of claim 1, the report listing a summary of the skills tested, comparing player performance with the average of the performance indicative of skills of the player in the age group.
 16. The method of claim 1, the analyzing the game score includes selecting the player age group, discarding outlying scores of the performance in the game to calculate system score.
 17. The method of claim 1, further comprising: providing a software to a game developer that plugs into a development environment, and after being plugged in adds routines for monitoring a player's performance to the development environment, therein allowing the developer to add the routines to the game; the one or more machine instructions to track the one or more actions of the player include at least starting a task, ending a task, export score at the end of a task, export score at the end of a level, export score at the end of a game, identify an object and position an object; the hardware system further comprising a web server; the one or more games have one or more tasks, the performance of the tasks are indicative of one or more skills including attention, multidimensional perception, planning and organization; the one or more games have one or more tasks, the performance of the tasks are indicative of one or more skills including at least linguistic acquisition, arithmetic skill, audio memory, visual memory, planning and organization, multidimensional perception, musical skill, hand-eye coordination, shape identification, color identification, attention, and skill improvement in games played repeatedly; the one or more games have one or more tasks, each of the tasks have at least a start task event calling a function for monitoring performance and a stop task event ending the function that monitors performance, which returns a reason why the task ended; the one or more games have one or more include at least one game having one or more tasks that include at least an event that calls a function that determines one or more events including a location of pointing and a placement of an object; the one or more games have one or more tasks, the tasks have one or more events that call a function for determining whether a long stop occurred; the report having a pie chart of the performance in the game indicative of one or more skills; the report listing new concepts and words learned and an average of a skill of the player in the age group; the report showing a bar graph comparing a current performance to a previous performance for a plurality of score skills; the report listing at least a plurality of concepts tested in the game, and indicating which of the plurality of concepts the player knew and which of the plurality of concept the player did not know; the report listing a summary of the skills tested, comparing player performance with the average of the performance indicative of skills of the player in the age group; the analyzing the game score includes selecting the player age group, discarding outlying scores of the performance in the game to calculate system score.
 18. A machine-readable medium carrying one or more sequences of instructions for implementing a method for providing analysis of performance of a player, the method comprising: providing one or more games stored on a hardware system, the hardware system including one or more machines having a processor system with one or more processors, and one or more machine readable media with in a storage unit; monitoring performance of a player in the game; storing information resulting from the monitoring the performance in the game and a player profile in the storage unit, the player profile including at least an age group and a gender; analyzing the information to determine a skill level of the player; generating a report based on the analyzing of the game score and storing the report in the storage unit; and providing an interface to a guardian of the player, that provides the report to the guardian.
 19. A system with one or more machines, the machine comprising: a processor system including one or more processors; a storage system having one or more machine readable media, storing thereon one or more instructions for implementing an application that includes one or more instructions that cause the processor system to perform a method including at least: providing one or more games stored on a hardware system, the hardware system including one or more machines having a processor system with one or more processors, and one or more machine readable media with in a storage unit; monitoring performance of a player in the game; storing information resulting from the monitoring the performance in the game and a player profile in the storage unit, the player profile including at least an age group and a gender; analyzing the information to determine a skill level of the player; generating a report based on the analyzing of the game score and storing the report in the storage unit; and providing an interface to a guardian of the player, that provides the report to the guardian. 